Ext.namespace('pages.p2p.tjr.edtjrxg');

pages.p2p.tjr.edtjrxg.Main = function(config) {
	Ext.apply(this, config);
	this.initUIComponents();
	pages.p2p.tjr.edtjrxg.Main.superclass.constructor.call(this);
};

Ext.extend(pages.p2p.tjr.edtjrxg.Main, Ext.Panel, {
	/**
	 * 构造函数
	 */
	initUIComponents : function() {
		
		this.queryForm = new Ext.form.FormPanel({
			layout : 'column',
			region : 'north',
			labelWidth : 100,
			labelAlign : 'right',
			autoHeight :true,
			border : false,
			frame : false,
			items : [{
				columnWidth : 1,
				height : 10,
				border : false
			},{
				columnWidth : .25,
				layout : 'form',
				border : false,
				items : [{
					fieldLabel : '注册开始日期',
					name : 'REG_START_DATE',
					id : 'REG_START_DATE',
					format : 'Y-m-d',
					anchor : '96%',
					xtype : 'datefield'
				}]
			},
			{
				columnWidth : .25,
				layout : 'form',
				border : false,
				items : [{
					fieldLabel : '注册结束日期',
					name : 'REG_END_DATE',
					id : 'REG_END_DATE',
					format : 'Y-m-d',
					anchor : '96%',
					xtype : 'datefield'
				}]
			},{
				columnWidth : .25,
				layout : 'form',
				border : false,
				items : [{
					fieldLabel : '用户名',
					name : 'USER_NAMET',
					id : 'USER_NAMET',
					anchor : '96%',
					xtype : 'textfield'
				}]
			},{
				columnWidth : .25,
				layout : 'form',
				border : false,
				items : [{
					fieldLabel : '手机号码',
					name : 'SJHMT',
					id : 'SJHMT',
					anchor : '96%',
					xtype : 'textfield'
				}]
			}, {
				columnWidth : .25,
				layout : 'form',
				border : false,
				items : [{
					fieldLabel : '推荐人(员工号)',
					name : 'TJRT',
					id : 'TJRT',
					anchor : '96%',
					xtype : 'textfield'
				}]
			}, {
				columnWidth : .25,
				layout : 'form',
				border : false,
				items : [{
					fieldLabel : '真实姓名',
					name : 'REAL_NAMET',
					id : 'REAL_NAMET',
					anchor : '96%',
					xtype : 'textfield'
				}]
			}, {
				columnWidth : .25,
				layout : 'form',
				border : false,
				items : [{
					fieldLabel : '身份证号码',
					name : 'SFZ_NUMT',
					id : 'SFZ_NUMT',
					anchor : '96%',
					xtype : 'textfield'
				}]
			}]
		});
		
		this.store = new Ext.data.Store({
			proxy : new Ext.data.HttpProxy({
				url : ExtJ.getActionPath('tjr/querytjr.do')
			}),
			remoteSort : true,
			reader : new Ext.data.JsonReader({
				root : 'data',
				totalProperty : 'total',
				id : 'ID'
			}, [{
				name : 'ID',
				mapping : 'ID'
			},{
				name : 'USER_NAME',
				mapping : 'USER_NAME'
			},{
				name : 'SJHM',
				mapping : 'SJHM'
			},{
				name : 'TJR',
				mapping : 'TJR'
			},{
				name : 'TGCODE',
				mapping : 'TGCODE'
			},{
				name : 'TJR_TGCODE',
				mapping : 'TJR_TGCODE'
			},{
				name : 'TJJB',
				mapping : 'TJJB'
			},{
				name : 'REAL_NAME',
				mapping : 'REAL_NAME'
			},{
				name : 'SFZ_NUM',
				mapping : 'SFZ_NUM'
			},{
				name : 'CJRQ',
				mapping : 'CJRQ'
			},{
				name : 'CJ_TYPE',
				mapping : 'CJ_TYPE'
			},{
				name : 'OA_GYH',
				mapping : 'OA_GYH'
			},{
				name : 'DQ',
				mapping : 'DQ'
			},{
				name : 'BM',
				mapping : 'BM'
			},{
				name : 'SS',
				mapping : 'SS'
			},{
				name : 'ZW',
				mapping : 'ZW'
			},{
				name : 'ZJ',
				mapping : 'ZJ'
			},{
				name : 'OA_XM',
				mapping : 'OA_XM'
			},{
				name : 'OA_SJHM',
				mapping : 'OA_SJHM'
			},{
				name : 'NEW_TJR',
				mapping : 'NEW_TJR'
			}
			])
		});
		
		var sm = new Ext.grid.CheckboxSelectionModel({singleSelect:true});
		var cm = new Ext.grid.ColumnModel([sm,new Ext.grid.RowNumberer(),
		{
			header : '用户名',
			width : 150,
			sortable : true,
			dataIndex : 'USER_NAME'
		},{
			header : '手机号码',
			width : 150,
			sortable : true,
			dataIndex : 'SJHM'
		},{
			header : '推荐人(员工号)',
			width : 150,
			sortable : true,
			dataIndex : 'TJR'
		},{
			header : '推广码',
			width : 150,
			sortable : true,
			dataIndex : 'TGCODE'
		},{
			header : '推荐人推广码',
			width : 150,
			sortable : true,
			dataIndex : 'TJR_TGCODE'
		},{
			header : '推荐级别',
			width : 100,
			sortable : true,
			dataIndex : 'TJJB',
			renderer : function(v){
				if('1' == v){
					return "一级";
				}else if('2' == v){
					return "二级";
				}else if('3' == v){
					return "三级";
				}else {
					return v;
				}
			}
		},{
			header : '真实姓名',
			width : 150,
			sortable : true,
			dataIndex : 'REAL_NAME'
		},{
			header : '身份证号码',
			width : 150,
			sortable : true,
			dataIndex : 'SFZ_NUM'
		},{
			header : '注册日期',
			width : 150,
			sortable : true,
			dataIndex : 'CJRQ'
		},{
			header : 'OA员工号码',
			width : 100,
			sortable : true,
			hidden : true,
			dataIndex : 'OA_GYH'
		},{
			header : 'OA员工地区',
			width : 100,
			sortable : true,
			dataIndex : 'DQ'
		},{
			header : 'OA员工部门',
			width : 100,
			sortable : true,
			dataIndex : 'BM'
		},{
			header : 'OA员工所属',
			width : 100,
			sortable : true,
			dataIndex : 'SS'
		},{
			header : 'OA员工职务',
			width : 100,
			sortable : true,
			dataIndex : 'ZW'
		},{
			header : 'OA员工职级',
			width : 100,
			sortable : true,
			dataIndex : 'ZJ'
		},{
			header : 'OA姓名',
			width : 100,
			sortable : true,
			dataIndex : 'OA_XM'
		},{
			header : 'OA员工手机号码',
			width : 100,
			sortable : true,
			dataIndex : 'OA_SJHM'
		}
		
		]);
			
		
		/**
		 * GridPanel
		 */
		this.grid = new Ext.grid.GridPanel({
			id : 'grid',
			region : 'center',
			store : this.store,
			border : true,
			frame : false,
			viewConfig : {
				autoFill : false,
	    	    forceFit : false,
	    	    focusRow : function(){
	    	    	return;
	    	    },
	    	    getRowClass : function(record, rowIndex, rowParams, store){
	    	    	if (record.get("TOP_LEVEL") == "1") {
				        return 'ux-grid-record-onTop';
				    }
	    	    }
			},
			sm : sm,
			cm : cm,
			tbar : [{				
				id : 'query',
				iconCls : 'query',
				text : '查询',
				handler : this.onQuery.createDelegate(this)
			},'-', {
				id : 'reset',
				iconCls : 'reset',
				text : '重置',
				handler : this.onReset.createDelegate(this)
			},'-', {
				id : 'view',
				iconCls : 'view',
				text : '查看',
				handler : this.onView.createDelegate(this)
			},'-', {
				id : 'update',
				iconCls : 'update',
				text : '修改推荐人(员工号)',
				handler : this.onUpdate.createDelegate(this)
			} ],
			bbar : new Ext.PagingToolbar({
				pageSize : pageSize,
				store : this.store,
				displayInfo : true,
				displayMsg : '当前显示第 {0} - {1} 条 / 共 {2} 条',
				emptyMsg : "没有记录"
			})
		});
		
		Ext.apply(this, {
			title : '推荐码修改(三级限制)',
			closeAction : 'close',
			layout : 'border',
			border : false,
			tools : [{
						id : 'help',
						handler : function(){
							this.onHelp();				
						}.createDelegate(this)
					}],
			listeners : {
				'render' : this.initData.createDelegate(this)
			},
			items : [this.queryForm,this.grid]
		})
	},

	onHelp : function(){
		var dialog = new global.help.HelpWindow({key : 'khxx.all.helpEdtjrxg'});
		dialog.show();
	},
	
	initData : function(){
		this.onQuery();
	},
	
	onReset : function(){
		this.queryForm.getForm().reset();
	},
	
	onQuery : function(){
		this.store.baseParams.user_name = Ext.getCmp('USER_NAMET').getValue();
		this.store.baseParams.sjhm = Ext.getCmp('SJHMT').getValue();
		this.store.baseParams.tjr = Ext.getCmp('TJRT').getValue();
		this.store.baseParams.sfzNum = Ext.getCmp('SFZ_NUMT').getValue();
		this.store.baseParams.realName = Ext.getCmp('REAL_NAMET').getValue();
		this.store.baseParams.regStartDate = Ext.getCmp('REG_START_DATE').getRawValue();
		this.store.baseParams.regEndDate = Ext.getCmp('REG_END_DATE').getRawValue();
		var sjhm=this.store.baseParams.sjhm
		if(sjhm==null){
			Ext.Msg.alert('提示', '请输入手机号!');
			return;
		}
		var regStartDate=this.store.baseParams.regStartDate;
		var regEndDate=this.store.baseParams.regEndDate ;
			if(regStartDate>regEndDate){
				Ext.Msg.alert('提示', '开始时间不能大于结束时间!');
				return;
			}
		
		
		Ext.getBody().mask("正在查询,请稍候...");
		this.store.reload({
			params : {
				start : 0,
				limit : pageSize
			},
			callback : function() {
				Ext.getBody().unmask(true);
			}
		});
	},
	onView : function(){
		var isClick = this.grid.getSelectionModel().getSelected();
		if(isClick){
			var win = new pages.p2p.tjr.query.View({
				infos:isClick
			});
			win.show();
		}else{
			Ext.Msg.alert("提示","请选择一条记录",function(){
				return;
			});
		}
	},
	
	onUpdate:function(){
		var isClick = this.grid.getSelectionModel().getSelected();
		if(isClick){
			var win = new pages.p2p.tjr.edtjrxg.Update({
				infos:isClick
			});
			win.show();
		}else{
			Ext.Msg.alert("提示","请选择一条记录",function(){
				return;
			});
		}
	},
	
	
	onExport:function(){
		this.store.baseParams.user_name = Ext.getCmp('USER_NAME').getValue();
		this.store.baseParams.sjhm = Ext.getCmp('SJHM').getValue();
		this.store.baseParams.tjr = Ext.getCmp('TJR').getValue();
		this.store.baseParams.sfzNum = Ext.getCmp('SFZ_NUM').getValue();
		this.store.baseParams.realName = Ext.getCmp('REAL_NAME').getValue();
		this.store.baseParams.regStartDate = Ext.getCmp('REG_START_DATE').getRawValue();
		this.store.baseParams.regEndDate = Ext.getCmp('REG_END_DATE').getRawValue();
		
		var user_name=this.store.baseParams.user_name;
		var sjhm=this.store.baseParams.sjhm;
		var tjr=this.store.baseParams.tjr;
		var sfzNum=this.store.baseParams.sfzNum;
		var realName=this.store.baseParams.realName;
		var regStartDate=this.store.baseParams.regStartDate;
		var regEndDate=this.store.baseParams.regEndDate;
		ExtJ.doExport({
			url : baseUrl + "/tjr/exportTjrExcelMethod.do",
			params : {
				user_name : this.store.baseParams.user_name,
				sjhm : this.store.baseParams.sjhm,
				tjr : this.store.baseParams.tjr,
				sfzNum : this.store.baseParams.sfzNum,
				realName : this.store.baseParams.realName,
				regStartDate : this.store.baseParams.regStartDate,
				regEndDate : this.store.baseParams.regEndDate
			}
		});
	}
});